有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如果库有副作用,这样可以吗?

我正在开发一些Kotlin库,我有以下概念问题:

  1. 第一个库基于spring的类路径扫描器,旨在用作spring扩展,因此它将spring核心作为依赖项。这样行吗?我的库的潜在用户将如何处理不同的spring版本

  2. 第二个库基于第一个库,用于p2p网络。它与其他对等方同步,并提供一个共享状态,库用户可以使用特殊的预定义spring服务轻松检索该状态。图书馆有这样的副作用可以吗?也许有一些实现/分发此类库的模式

如果这不好,你能指导我如何正确地做这件事吗。 提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    这是一个有点笼统的问题,有具体的例子将有助于理解这样做是“好”还是“不好”

    但总的来说:

    1. 如果你的库依赖于其他特定版本的库,这是可以的。大多数图书馆都有。问题是你所依赖的这个图书馆有多沉重和突兀。对你们来说不幸的是,众所周知,Spring库两者兼而有之。如果是库的最终用户,如果发生冲突,他只需选择是否要更新库的Spring版本
    2. 拥有某种分布式状态不一定是副作用。例如,EhCache是一个分布式缓存库。基本模式是尽可能的坚固。当我开发caching for Vert.x WebClient library时,我让它依赖于接口,而不是可靠的实现,因此如果有人决定不想使用您的库(例如Spring组件),他可以提供一个替代解决方案

    同样,这些都是基本的指导原则,没有看到你的代码。如果你打算开放源码,请随意分享具体信息,从StackOverflow社区获得更具体的见解